A Single-Pass Algorithm for Transitive Closure
نویسندگان
چکیده
One of the most attractive methods for computing the transitive closure of a binary relation is to apply depth-rst search to the corresponding directed graph, recognize the strongly connected components, and, at the same time, compute the successor lists for all nodes. Recognizing the strongly connected components is important because the straightforward successor list computation computes correctly only the successors of the component roots, and these successor lists have to be distributed to all members of the strong components. This scheme has some obvious ineeciences: e.g., if the graph consists of a single cycle of length n, then during the search n sets of size O(n) will be computed, and, nally, the set containing all nodes will be distributed to all nodes in the cycle. A much better way would be to compute directly only the successor list of the root (the node where the search for the cycle starts). For other nodes in the cycle, the successor list is obtained directly via the root node value stored in every node. In the present paper we generalize this idea for all directed graphs: whenever the search of a node exits and we know that the node is not a component root, we will directly add the successor set of the node to the current candidate of the component root.
منابع مشابه
A Fault-Independent Transitive Closure Algorithm for Redundancy Identification
We present a fault-independent redundancy identification algorithm. The controllabilities and observabilities are defined as Boolean variables and represented on an implication graph. A major enhancement over previously published results is that we include all direct and partial implications, as well as node fixation. The transitive closure, whose computation now requires a new algorithm, provi...
متن کاملThe Effect of Transitive Closure on the Calibration of Logistic Regression for Entity Resolution
This paper describes a series of experiments in using logistic regression machine learning as a method for entity resolution. From these experiments the authors concluded that when a supervised ML algorithm is trained to classify a pair of entity references as linked or not linked pair, the evaluation of the model’s performance should take into account the transitive closure of its pairwise lin...
متن کاملCoarse-Grained Parallel Transitive Closure Algorithm: Path Decomposition Technique
We investigate the relation between fine-grained and coarse-grained distributed computations of a class of problems related to the generic transitive closure problem (TC for short). We choose an intricate systolic algorithm for the TC problem, by Guibas, Kung and Thompson (GKT algorithm for short), as a starting point due to its particularly close relationship to matrix multiplication. The GKT ...
متن کاملOn the PVM Computations of Transitive Closure and Algebraic Path Problems
We investigate experimentally, alternative approaches to the distributed parallel computation of a class of problems related to the generic transitive closure problem and the algebraic path problem. Our main result is the comparison of two parallel algorithms for transitive closure, { a straightforward coarse-grained parallel implementation of the Warshall algorithm named Block-Processing (whic...
متن کاملOn the Floyd-Warshall Algorithm for Logic Programs
We explore the possibility of evaluating single-rule Datalog programs eeciently and with logarithmic work space by a natural extension of the Floyd-Warshall algorithm for transitive closure. We characterize exactly the single rule chain programs that can be so evaluated: they are rather modest generalizations of the transitive closure. The proof relies on an interesting language-theoretic conce...
متن کامل